In a typical computer system, there may well be over a hundred users. Each of these users will typically access the computer system through the use of computer terminals. A variety of computer programs are used to create documents which include letters, memos, financial statements and spreadsheets. These documents are stored on a data storage device which can include a tape drive storage system, a disk drive storage system, and an electronic drive storage system consisting of large random access memory (RAM) arrays For purposes of illustration, the present invention will be discussed with reference to the disk drive type storage systems, however the present invention has equal applicability to the tape drive and electronic drive type storage systems. A storage device controller is used to direct the transfer of data between the computer and the storage devices The number of data transfer requests between the computer terminals and the data storage devices can number over a hundred requests per second.
The controllers of prior art systems typically had a single data channel connected to four dedicated drive ports used in isolation. Some controllers contained an additional data channel connected to four more dedicated drive ports. However, neither of the two data channels could communicate with the dedicated drive ports associated with the other data channel. If one of the drives in a group of four drives experienced long data transfer access times, the other three drives sat idle waiting for the transfer to be completed, since there was no way to transfer information to or from those drives through the other data channel if said other channel was not being used. Consequently, the data transfer rate between computer terminals and data storage systems suffered since oftentimes a data channel sat idle.
Data is transferred to and stored in an encoded digital format that is convenient and efficient for the computer system to understand. The storage devices have their own addressing scheme so that stored data can be accessed and retrieved when needed. In the disk drive storage system, the stored data is accessed by positioning a pickup head above a storage disk having a plurality of storage tracks of data recording space. On a hard disk, for instance, the disk has a plurality of concentric tracks wherein each track is identified by a number. Within one recording track, i.e., one revolution of the disk drive, are dozens of data storage address areas called sectors. Each sector has a unique address which indicates the location of the track and the sector number where the track is located.
The storage disk rotates at speeds of up to 3600 revolutions per minute. As fast as that may seem, the positioning speed of the pickup head in locating the correct address on the disk is slow compared to the speed of the controller in organizing the order in which the data is to be transferred to or from the disks. When information is being transferred to one particular disk drive at a specific address, a certain amount of time is required to locate the specific address A new transfer of data must wait until the data channel is free and the pickup head has located the proper information. In the time that it takes for the pickup head to locate the proper information, additional information could be transferred if the controller realized that additionally requested information was located on the disk at disk locations which are passed over by the pickup head as the pickup head travels to the originally selected location.